{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "57deb8a4-7d3b-4541-9b4b-18fdb2d6e257",
   "metadata": {},
   "source": [
    "Chapter 19\n",
    "\n",
    "# 动量梯度下降数值优化\n",
    "Book_3《数学要素》 | 鸢尾花书：从加减乘除到机器学习 (第二版)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "18c1b610-bedc-415d-8ea7-8f727da34371",
   "metadata": {},
   "source": [
    "这段代码实现了**动量梯度下降法**优化二次函数，通过引入动量的概念加速收敛，并通过可视化展示了迭代路径和收敛行为。以下从数学角度详细描述代码的功能、数学公式以及可视化的意义。\n",
    "\n",
    "---\n",
    "\n",
    "### 1. **目标函数与梯度计算**\n",
    "\n",
    "#### 目标函数\n",
    "目标函数为一个简单的二次多项式：\n",
    "$$\n",
    "f(x) = 2x^2 - 8x + 1\n",
    "$$\n",
    "该函数的导数（梯度）为：\n",
    "$$\n",
    "f'(x) = \\frac{d}{dx}(2x^2 - 8x + 1) = 4x - 8\n",
    "$$\n",
    "优化目标是找到使函数值最小的点 $x^*$，即使梯度为零的点：\n",
    "$$\n",
    "f'(x^*) = 0\n",
    "$$\n",
    "\n",
    "---\n",
    "\n",
    "### 2. **动量梯度下降法**\n",
    "\n",
    "#### 梯度下降的基本思想\n",
    "普通梯度下降法的迭代更新公式为：\n",
    "$$\n",
    "x_{k+1} = x_k - \\eta f'(x_k)\n",
    "$$\n",
    "其中：\n",
    "- $x_k$ 是第 $k$ 次迭代时的点；\n",
    "- $\\eta$ 是学习率（步长）；\n",
    "- $f'(x_k)$ 是目标函数在 $x_k$ 处的梯度。\n",
    "\n",
    "#### 动量的引入\n",
    "在动量梯度下降法中，通过引入动量项，加速收敛并减少震荡。更新公式为：\n",
    "1. 动量更新：\n",
    "   $$\n",
    "   v_{k+1} = \\gamma v_k + \\eta f'(x_k)\n",
    "   $$\n",
    "   其中：\n",
    "   - $v_k$ 是第 $k$ 次迭代的动量；\n",
    "   - $\\gamma$ 是动量因子，控制前一动量对当前更新的影响程度。\n",
    "\n",
    "2. 位置更新：\n",
    "   $$\n",
    "   x_{k+1} = x_k - v_{k+1}\n",
    "   $$\n",
    "\n",
    "通过动量的累积，更新方向不再完全依赖于当前的梯度，而是包含了之前梯度的历史信息，从而提高优化过程的稳定性。\n",
    "\n",
    "#### 收敛条件\n",
    "动量梯度下降的终止条件为：\n",
    "1. 当前迭代点的变化小于容差 $tol$：\n",
    "   $$\n",
    "   |x_{k+1} - x_k| < tol\n",
    "   $$\n",
    "2. 达到最大迭代次数。\n",
    "\n",
    "---\n",
    "\n",
    "### 3. **实现过程**\n",
    "\n",
    "#### 动量梯度下降函数\n",
    "`momentum_gradient_descent` 函数实现了上述动量梯度下降算法，依次记录每次迭代的变量值 $x_k$，并返回完整的优化路径。\n",
    "\n",
    "#### 参数说明\n",
    "- 初始点 $x_0 = 5$；\n",
    "- 学习率 $\\eta = 0.1$；\n",
    "- 动量因子 $\\gamma = 0.2$。\n",
    "\n",
    "通过这些参数控制收敛速度和路径的平滑性。\n",
    "\n",
    "---\n",
    "\n",
    "### 4. **可视化动量梯度下降过程**\n",
    "\n",
    "#### 可视化内容\n",
    "函数 `visualize_momentum_gradient_descent` 绘制了三个子图：\n",
    "1. **目标函数及迭代轨迹**：\n",
    "   - 蓝色曲线表示目标函数 $f(x)$；\n",
    "   - 黑色叉点表示每次迭代的点 $(x_k, f(x_k))$；\n",
    "   - 红色连线显示了迭代路径，直观展示了点如何沿着函数曲面移动到最优解。\n",
    "\n",
    "2. **变量 $x_k$ 的变化**：\n",
    "   - 横轴为迭代次数，纵轴为 $x_k$ 的值；\n",
    "   - 曲线反映了动量梯度下降法中 $x_k$ 收敛到最优解 $x^*$ 的过程。\n",
    "\n",
    "3. **函数值 $f(x_k)$ 的变化**：\n",
    "   - 横轴为迭代次数，纵轴为 $f(x_k)$ 的值；\n",
    "   - 曲线展示了函数值逐步逼近最小值的过程。\n",
    "\n",
    "#### 动量效果\n",
    "从可视化中可以观察到动量的作用：\n",
    "- 动量的累积加速了收敛；\n",
    "- 更新路径更加平滑，减少了普通梯度下降中可能出现的震荡。\n",
    "\n",
    "---\n",
    "\n",
    "### 5. **测试与结果**\n",
    "\n",
    "#### 理论解\n",
    "对于函数 $f(x)$，解析解为：\n",
    "$$\n",
    "x^* = \\frac{-b}{2a} = \\frac{8}{4} = 2\n",
    "$$\n",
    "对应的最小值为：\n",
    "$$\n",
    "f(x^*) = 2(2)^2 - 8(2) + 1 = -7\n",
    "$$\n",
    "\n",
    "#### 实际结果\n",
    "代码运行后得到：\n",
    "- 动量梯度下降找到的最优点 $x^* \\approx 2$；\n",
    "- 对应的最小值 $f(x^*) \\approx -7$。\n",
    "\n",
    "结果与理论值一致，验证了算法的正确性。\n",
    "\n",
    "---\n",
    "\n",
    "### 6. **总结与应用**\n",
    "\n",
    "#### 动量梯度下降的优点\n",
    "动量梯度下降法通过引入动量项解决了普通梯度下降中的两个主要问题：\n",
    "1. 在陡峭区域的收敛速度更快；\n",
    "2. 在平坦区域或多维问题中减少了梯度震荡。\n",
    "\n",
    "#### 应用场景\n",
    "动量梯度下降法广泛应用于：\n",
    "- 神经网络优化（如 SGD + Momentum）；\n",
    "- 大规模数据集的模型参数调整；\n",
    "- 其他非凸优化问题。\n",
    "\n",
    "#### 可视化的意义\n",
    "通过可视化梯度下降过程，可以直观理解动量如何影响优化路径，从而更好地选择超参数（如学习率 $\\eta$ 和动量因子 $\\gamma$），是学习优化算法的重要工具。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ff1bce6c-5445-4e2e-9f5c-203b825a921e",
   "metadata": {},
   "source": [
    "## 导入包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "424659f5-c538-416d-9c43-70a5a3a0617f",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sympy import symbols, diff, lambdify"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "182c039d-91e0-47e1-9805-5c62d9094ac2",
   "metadata": {},
   "outputs": [],
   "source": [
    "p = plt.rcParams  # 获取默认绘图参数\n",
    "p[\"font.sans-serif\"] = [\"Roboto\"]  # 设置无衬线字体为 Roboto\n",
    "p[\"font.weight\"] = \"light\"  # 设置字体粗细为 light\n",
    "p[\"ytick.minor.visible\"] = True  # 显示 y 轴的小刻度\n",
    "p[\"xtick.minor.visible\"] = True  # 显示 x 轴的小刻度\n",
    "p[\"axes.grid\"] = True  # 启用坐标轴网格\n",
    "p[\"grid.color\"] = \"0.5\"  # 设置网格颜色为灰色\n",
    "p[\"grid.linewidth\"] = 0.5  # 设置网格线宽度"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "521a1b69-b83c-4a71-9326-e34c5991b991",
   "metadata": {},
   "source": [
    "## 目标函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "b5cadc62-2792-46c4-9e64-8f0f846accc8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 2 x^{2} - 8 x + 1$"
      ],
      "text/plain": [
       "2*x**2 - 8*x + 1"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = symbols('x')\n",
    "func = 2*x**2 - 8*x + 1\n",
    "func"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "bf85ecff-094a-4eea-a1f7-3a7fb005e7be",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 4 x - 8$"
      ],
      "text/plain": [
       "4*x - 8"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grad = diff(func, x)  # 计算函数的导数\n",
    "grad"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "7f4ac46e-e65d-4157-b6c4-80b102e78e4b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将函数和梯度转换为 Python 可执行函数\n",
    "f = lambdify(x, func, 'numpy')\n",
    "grad_f = lambdify(x, grad, 'numpy')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1eaad47c-633e-4793-b892-d4cecd2a56da",
   "metadata": {},
   "source": [
    "## 动量梯度下降实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "9e07242a-5266-4ab3-9058-ed6e03ab04ec",
   "metadata": {},
   "outputs": [],
   "source": [
    "def momentum_gradient_descent(f, grad_f, x0, learning_rate=0.1, gamma=0.9, max_iter=50, tol=1e-6):\n",
    "    x_vals = [x0]\n",
    "    v = 0  # 初始动量为 0\n",
    "    for _ in range(max_iter):\n",
    "        grad_val = grad_f(x_vals[-1])  # 当前点的梯度\n",
    "        v = gamma * v + learning_rate * grad_val  # 更新动量\n",
    "        x_new = x_vals[-1] - v  # 按动量更新位置\n",
    "        x_vals.append(x_new)\n",
    "        if abs(x_new - x_vals[-2]) < tol:  # 如果变化小于容差，停止迭代\n",
    "            break\n",
    "    return x_vals"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1fa6eab1-230c-46bb-a98c-25219bfa1ffe",
   "metadata": {},
   "source": [
    "## 可视化梯度下降过程和收敛"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "ba02903e-c7d2-4595-8208-a53edfe46a8a",
   "metadata": {},
   "outputs": [],
   "source": [
    "def visualize_momentum_gradient_descent(f, x_vals):\n",
    "    x = np.linspace(-1, 5, 500)  # 设置绘图范围\n",
    "    y = f(x)\n",
    "\n",
    "    # 获取收敛的函数值和对应的最小值点\n",
    "    f_vals = [f(val) for val in x_vals]\n",
    "    iterations = np.arange(len(x_vals))\n",
    "\n",
    "    # 创建图像，分三行一列\n",
    "    fig, axs = plt.subplots(3, 1, figsize=(8, 6), \n",
    "                            height_ratios=[2, 1, 1],\n",
    "                            constrained_layout=True)\n",
    "\n",
    "    # 图1：目标函数及梯度下降过程\n",
    "    axs[0].plot(x, y, label=\"f(x)\", color=\"blue\")\n",
    "    axs[0].scatter(x_vals, f_vals, color=\"k\", marker = 'x', label=\"Iterations\")\n",
    "    axs[0].plot(x_vals, f_vals, linestyle=\"-\", color=\"red\", alpha=0.6)\n",
    "    axs[0].set_title(\"Gradient Descent Optimization\")\n",
    "    axs[0].set_xlabel(\"x\")\n",
    "    axs[0].set_ylabel(\"f(x)\")\n",
    "    axs[0].set_xlim(-1,5)\n",
    "    axs[0].legend()\n",
    "    axs[0].grid(True)\n",
    "\n",
    "    # 图2：收敛过程中最小值点的变化\n",
    "    axs[1].plot(iterations, x_vals, marker=\"x\", label=\"x value\", color=\"green\")\n",
    "    axs[1].set_xlabel(\"Iteration\")\n",
    "    axs[1].set_ylabel(\"Optimized x\")\n",
    "    axs[1].set_xlim(iterations.min(),iterations.max())\n",
    "    axs[1].set_xticks(np.arange(0, iterations.max(), 2))\n",
    "    axs[1].legend()\n",
    "    axs[1].grid(True)\n",
    "\n",
    "    # 图3：收敛过程中最小值点的变化\n",
    "    axs[2].plot(iterations, f_vals, marker=\"x\", label=\"f(x)\", color=\"blue\")\n",
    "    axs[2].set_xlabel(\"Iteration\")\n",
    "    axs[2].set_ylabel(\"Optimized min of f(x)\")\n",
    "    axs[2].set_xlim(iterations.min(),iterations.max())\n",
    "    axs[2].set_xticks(np.arange(0, iterations.max(), 2))\n",
    "    axs[2].legend()\n",
    "    axs[2].grid(True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3c4b1ad0-b9fc-45c9-aaf0-c2c5e4b592f7",
   "metadata": {},
   "source": [
    "## 测试动量梯度下降"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "c8e17297-9ed9-4ed0-bcb0-04f6d9565559",
   "metadata": {},
   "outputs": [],
   "source": [
    "x0 = 5  # 初始点\n",
    "learning_rate = 0.1\n",
    "gamma = 0.2\n",
    "x_vals = momentum_gradient_descent(f, grad_f, x0, learning_rate, gamma)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "c5d29c25-a615-4f91-b5fa-9202398a628b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "动量梯度下降找到的最小值点: 1.9999998357195456\n",
      "最小值: -6.999999999999946\n"
     ]
    }
   ],
   "source": [
    "print(f\"动量梯度下降找到的最小值点: {x_vals[-1]}\")\n",
    "print(f\"最小值: {f(x_vals[-1])}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f5916184-d722-4454-914a-254581dcfa6d",
   "metadata": {},
   "source": [
    "## 可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "8b9c4f5c-f7e5-45ba-af24-263c4e5a518e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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RERERERklJisEBERERGRUWKyQkRERERERonJChERERERGSUmK0REREREZJSYrBARERERkVFiskJEREREREaJyQoRERml9evXw87ODrdv3wYAHDlyBBYWFvj7779ljoyIiAqLQpIkSe4giIiI8hIUFIRSpUph5cqVaNCgAfz9/bFgwQK5wyIiokJiKXcARERELxISEoJatWrB1dUV0dHR2L9/v9whERFRIWKyQkRERqtKlSoYP348Zs+ejaVLl8LV1VXukIiIqBCxZoWIiIzakydPAAAJCQnyBkJERIWOyQoRERmtv//+G0uXLsXcuXMxdepUxMbGyh0SEREVIhbYExGRUVKr1WjYsCH8/f0REhKCdu3awdnZGevXr5c7NCIiKiSsWSEiIqO0cOFCXLt2Dbt37wYAzJ07F7Vr18a+ffvw5ptvyhwdEREVBvasEBERERGRUWLNChERERERGSUmK0REREREZJSYrBARERERkVFiskJEREREREaJyQoRERERERklJitERERERGSUmKwQEREREZFRYrJCRERERERGickKEREREREZJUu5AzAktVqN2NhYODo6QqFQyB0OEREREZFZkiQJSUlJKFOmDJTK/PeXmHSyEhsbCy8vL7nDICIiIiIiANHR0fD09Mz3/iadrDg6OgIQjeLk5ISvj34NtaTGxGYTZY7M+G3cuBG9evWSO4wih+2mG7abbthuumPb6Ybtphu2m27Ybrox1nZLTEyEl5eX5vo8v0w6WckZ+uXk5IR5Z+fhq/CvMCNwBpycnGSOzPjZ29uznXTAdtMN2003bDfdse10w3bTDdtNN2w33Rh7uxW0NMOkk5Ucc47Owezw2ZgROAOTW0yWOxwiIiIiIsoHs5gNbPaR2ZgeOJ2JChERERFREWKSyUpISAj8/PzQoEEDzbbohGioJbWMURERERERUUGY5DCw4OBgBAcHIzExEc7OzgCAJWeXIFvKxpLOS2ChtJA5QiIiIiIqTCqVCllZWXKHYXBWVlZIT08v9PNaWFjA0tJS78uFmGSy8rxuVbth662tWH5uOVRqFZZ1XcaEhYiIiMhMJCcnIyYmBpIkyR2KwZUrVw43b96U5dz29vYoXbo0rK2t9XZMs0hWVnRfgRF7R2D9pfVYdWEVVJIKK7qtgKXSLF4+ERERkdlSqVSIiYmBvb093N3dTX6h8MeP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uRL9+/evMda6dWukpqYabBsbG4v3338fH330Ebp164aMjAyEh4cb9T62trY1Gh/g7qT9srIyODk5ifwEREQkFTYrRERkMtUnuwNAly5dcOnSJUybNk0/dufOHdjZ2dX6+v379yM8PBwvvPACANQ4Xay2/VcXEBCAmzdv4vz58/rTyI4ePQqVSgV/f3/cunVL1GciIiLp8DQwIiIyGXd3dxw5cgRnzpwBALz22muIjY3F+vXrkZOTg7Vr16Jr1676K3Tdq2PHjvjuu+9w+vRpHDt2DPPmzQMA/RW73N3dce7cOZw4ccLgKl5+fn4YMWIEIiIicOrUKfz444+YM2cOJk6cCBcXFzN+aiIiMhc2K0REZDKzZs3C6dOnMXr0aADA6NGjsWzZMixduhSdO3fG2rVr8fnnn0OlUtX6+vnz58Pf3x99+vTBlClTMHnyZPj6+iInJ0e/vxYtWqB///4GR10AYP369ejQoQOeeuopDB8+HEOGDMGqVavM94GJiMisFDqdTid1CCIiIiIionvxyAoREREREckSmxUiIiIiIpIlNitERERERCRLbFaIiIiIiEiW2KwQEREREZEssVkhIiIiIiJZYrNCRERERESyxGaFiIiIiIhkic0KERERERHJEpsVIiIiIiKSJTYrREREREQkS/8PcHJ+KbrPnp4AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 800x600 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "visualize_momentum_gradient_descent(f, x_vals)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
